perm filename ALDISP.SRC[PNT,HE] blob sn#528542 filedate 1980-08-05 generic text, type T, neo UTF8
  1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE]	8-05-80 01:54	pages 1,1

**** File 1) ALDISP.PAL[PNT,HE]/1P/5L
1)	C00005 00003		initialization routine	UPDINIT
1)	C00009 00004		routine to print out joint value PRTW
1)	C00014 00005		routine to read joint angles every 50 msec DOWHER
1)	C00016 00006	LOCAL STORAGE AREA
1)	C00019 ENDMK
1)	C⊗;
**** File 2) PNTDIS.PAL[PNT,HE]/1P/5L
2)	C00005 00003		initialization routine	PNTINIT
2)	C00007 00004		routine to print out joint value PRTW
2)	C00011 00005		routine to read joint angles every 20 msec DOWHER
2)	C00013 00006	LOCAL STORAGE AREA
2)	C00016 ENDMK
2)	C⊗;
***************


**** File 1) ALDISP.PAL[PNT,HE]/2P/4L
1)	NNCYCLES==50.
1)	DATA
**** File 2) PNTDIS.PAL[PNT,HE]/2P/6L
2)	DATA
***************


**** File 1) ALDISP.PAL[PNT,HE]/2P/51L
1)	TAB==11
1)	CR==15
**** File 2) PNTDIS.PAL[PNT,HE]/2P/51L
2)	CR==15
***************


**** File 1) ALDISP.PAL[PNT,HE]/3P/1L
1)	;	initialization routine	UPDINIT
1)	;	
1)	;	This routine initializes the updating by clearing the
1)	;VT05 screen, and typing the header information and the titles
**** File 2) PNTDIS.PAL[PNT,HE]/3P/1L
2)	;	initialization routine	PNTINIT
2)	;	
2)	;	This routine initializes the state of display by clearing the
2)	;VT05 screen, and typing the header information and the titles
***************


**** File 1) ALDISP.PAL[PNT,HE]/3P/9L
1)	UPDINIT: PUSH	<R0,R1,R2,R3,R4,R5>
  1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE]	8-05-80 01:54	pages 3,3

1)		EVWAIT	CSLEVT
**** File 2) PNTDIS.PAL[PNT,HE]/3P/9L
2)	PNTINIT: PUSH	<R0,R1,R2,R3,R4,R5>
2)		EVWAIT	CSLEVT
***************


**** File 1) ALDISP.PAL[PNT,HE]/3P/19L
1)		POP	<R5,R4,R3,R2,R1,R0>
1)		RTS	PC
1)	DSPINIT:PUSH	R2		; we will need this later
1)		MOV	#NNCYCLES,NCYCLES	; set ncycles=whatever it is
1)		EVWAIT	CSLEVT		;GRAB CONSOLE
1)		MOV	#HEADER,R0	;start it off
1)		TACKST	PNTIT		;tack on the header
1)		TACKST	CRLFEOL		;carriage return and clear rest of line
1)		CMP	VT05DSP,#1	;blue only?
1)		BEQ	1$
1)		MOV	#YELDSP,R2	;YARM
1)		BR	11$
1)	1$:	MOV	#BLUDSP,R2	;BARM
1)	11$:	MOV	(R2)+,R1	;BARM, YARM, ETC
1)		JSR	PC,TACK		; append to the end of string
1)		TACKST	JTTIT		;JT1,JT2,JT3
1)		TACKST	CRLFEOL		; CRLF, ETC
1)		TACKST	HSTIT		; UPPER LIMIT
1)		TACKST	CRLFEOL
1)		TACKST	LSTIT		; LOWER LIMIT
1)		TACKST	CRLFEOL
1)		MOV	(R2)+,R1	; PARK POSITION
1)		JSR	PC,TACK
1)		TACKST	CRLFEOL
1)		TACKST	CRLFEOL		; BLANK LINE
1)		MOV	(R2)+,R1	; BLUE JOINTS/YELLOW JOINTS
1)		JSR	PC,TACK		; append
1)		TACKST	CRLFEOL		; another CRLF
1)		TACKST	ADTIT		; A/D title
1)		TACKST	CRLFEOL
1)		TACKST	EUTIT
1)		TACKST	CRLFEOL
1)		TACKST	ALTIT
1)		MOV	#HEADER,R0	;print it out
1)		JSR	PC,PTYPSTR
1)		EVSIG	CSLEVT
1)		POP	R2
1)		MOV	ALHOMP,CURYXAL	;initialize position for AL display
**** File 2) PNTDIS.PAL[PNT,HE]/3P/19L
2)		POP	<R0,R1,R2,R3,R4,R5>
  1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE]	8-05-80 01:54	pages 3,3

2)		RTS	PC
2)	DSPINIT:EVWAIT	CSLEVT		;GRAB CONSOLE
2)		MOV	#HEADER,R0       ;TYPE OUT POINTY HEADER
2)		JSR	PC,PTYPSTR
2)		EVSIG	CSLEVT		;RELEASE CONSOLE
2)		MOV	ALHOMP,CURYXAL	;initialize position for AL display
***************


**** File 1) ALDISP.PAL[PNT,HE]/3P/63L
1)	DATA
1)	VT05DSP:.WORD	1		;1=blue arm,2=yellow arm,3=both
1)	BLUDSP:	.WORD	BRMTIT,BPRKTIT,BJTIT
1)	YELDSP:	.WORD	YRMTIT,YPRKTIT,YJTIT
1)	CODE
1)	;	routine to print out joint value PRTW
**** File 2) PNTDIS.PAL[PNT,HE]/4P/1L
2)	;	routine to print out joint value PRTW
***************


**** File 1) ALDISP.PAL[PNT,HE]/4P/5L
1)	NCYCLES:50.			; number of cycles before redrawing the words
1)	CODE
1)	PRTW:	TST	ALLIVE		;TEST IF AL IS DONE
1)		BNE	1$
1)		DISMIS			;go away, AL is done
1)	1$:	TST	DSPOK		;Test if want the display
**** File 2) PNTDIS.PAL[PNT,HE]/4P/7L
2)	CODE
2)	PRTW:	TST	ALDONE		;TEST IF AL IS DONE
2)		BEQ	1$
2)		DISMIS
2)	1$:	TST	DSPOK		;Test if want the display
***************


**** File 1) ALDISP.PAL[PNT,HE]/4P/18L
1)	3$:	DEC	NCYCLES		;decrement
1)		BGT	4$
1)		MOV	#50.,NCYCLES
1)		EVWAIT	CSLEVT
1)		MOV	#HEADER,R0
1)		JSR	PC,PTYPSTR
1)		EVSIG	CSLEVT
1)	4$:	MOV	#IOBUF,R0	;START BUILDING OUTPUT STRING IN HERE
1)		MOV	LTHPTR,R2	;GET POINTERS JOINT READINGS
1)		CMP	VT05DSP,#2
  1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE]	8-05-80 01:54	pages 4,4

1)		BEQ	5$		; is yellow arm
1)		ADD	#BTABOFF,R2	;TO GET VALUES FOR BLUE ARM
1)	5$:	MOV	#7,R3		;7 JOINTS IN ALL
1)	JTCLP:	LDF 	@(R2)+,AC0	;GET JOINT ANGLE
**** File 2) PNTDIS.PAL[PNT,HE]/4P/20L
2)	3$:	MOV	#IOBUF,R0	;START BUILDING OUTPUT STRING IN HERE
2)		MOV	LTHPTR,R2	;GET POINTERS JOINT READINGS
2)		ADD	#BTABOFF,R2	;TO GET VALUES FOR BLUE ARM
2)		MOV	#7,R3		;7 JOINTS IN ALL
2)	JTCLP:	LDF 	@(R2)+,AC0	;GET JOINT ANGLE
***************


**** File 1) ALDISP.PAL[PNT,HE]/4P/46L
1)		CMP	VT05DSP,#2	; is it yellow or blue?
1)		BEQ	1$		; it is yellow
1)		ADD	#BTABOFF,R2	;TO GET FOR BLUE ARM
1)	1$:	MOV	#7,R3		;CONVERT THE ACTUAL POT READINGS
1)	NEXTP:	LDCIF	@(R2),AC0	;GET A/D READING
**** File 2) PNTDIS.PAL[PNT,HE]/4P/39L
2)		ADD	#BTABOFF,R2	;TO GET FOR BLUE ARM
2)		MOV	#7,R3		;CONVERT THE ACTUAL POT READINGS
2)	NEXTP:	LDCIF	@(R2),AC0	;GET A/D READING
***************


**** File 1) ALDISP.PAL[PNT,HE]/4P/66L
1)		MOV	#TRNADR,R0	;GET CURRENT TRANSFORM IN HERE
**** File 2) PNTDIS.PAL[PNT,HE]/4P/57L
2)	   .IFNZ TTTTRANS
2)		MOV	#TRNADR,R0	;GET CURRENT TRANSFORM IN HERE
***************


**** File 1) ALDISP.PAL[PNT,HE]/4P/86L
1)		SLEEP	#150.		;SLEEP 150 MSEC TO GIVE AL INTERPRETER A CHANCE
1)		JMP	PRTW
1)	;	routine to read joint angles every 50 msec DOWHER
1)	DATA
**** File 2) PNTDIS.PAL[PNT,HE]/4P/78L
2)	   .ENDC
2)		SLEEP	#100		;GO SLEEP 100 MSEC TO GIVE AL INTERPRETER A CHANCE
2)		JMP	PRTW
2)	;	routine to read joint angles every 20 msec DOWHER
2)	DATA
***************


  1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE]	8-05-80 01:54	pages 5,5

**** File 1) ALDISP.PAL[PNT,HE]/5P/10L
1)		MOV	#YARMSB+YHANDSB,WLST	;DO A WHERE FOR THE YELLOW ARM
1)	       	MOV	#WLST,R0
1)		MOV	#DEVICE,R1
1)		JSR	PC,@LWHERE	;READ THE JOINT POSITIONS
1)		TST	ALLIVE		;TEST IF AL PROGRAM FINISHED
1)		BNE	1$
1)		DISMIS
1)	1$:	SLEEP	#50.		; GO TO SLEEP FOR 50 MSECS
1)		BR	DOWHER
**** File 2) PNTDIS.PAL[PNT,HE]/5P/10L
2)	; following code commented out because it gets messed up when the
2)	; arm is moving
2)	;	TST	R0		;CHECK IF ANY ERRORS
2)	;	BEQ	$1		;BRANCH IF OK
2)	;	EVWAIT	CSLEVT
2)	;	OUTSTR	BADW		;ELSE TYPE ERROR MESSAGE
2)	;	JSR	PC,TYPOCT	;PRINT OUT ERROR VALUE
2)	;	EVSIG	CSLEVT
2)		TST	ALDONE		;TEST IF AL PROGRAM FINISHED
2)		BEQ	1$
2)		DISMIS
2)	1$:	SLEEP	#20		; GO TO SLEEP FOR 20 MSECS
2)		BR	DOWHER
***************


**** File 1) ALDISP.PAL[PNT,HE]/6P/5L
1)	HEADER:	.BLKW	400.	;HEADER STRING BUFFER
1)	EANGLE:	.BLKW	12.	;EULER ANGLES STORED HERE
**** File 2) PNTDIS.PAL[PNT,HE]/6P/5L
2)	EANGLE:	.BLKW	12.	;EULER ANGLES STORED HERE
***************


**** File 1) ALDISP.PAL[PNT,HE]/6P/13L
1)	PNTIT:	.BYTE	HOME,CFILL,CFILL,CFILL,EOL
1)		.ASCIZ	/	       P O I N T Y   R U N T I M E   S Y S T E M/
1)	JTTIT:	.ASCIZ	\	JT 1/X  JT 2/Y  JT 3/Z  JT 4/O  JT 5/A  JT 6/T     HAND\
1)	HSTIT:	.ASCIZ	/HIGH STOPS/
1)	LSTIT:	.ASCIZ	/LOW STOPS/
1)	BPRKTIT:.ASCIZ	/PARK POSITION	 180.0   -90.0    14.00  -90.0    90.0     0.0/
1)	YPRKTIT:.ASCIZ	/PARK POSITION	 180.0   -90.0    14.00  -90.0    90.0     0.0/
1)	CRPTIT:	.ASCIZ	/CURRENT POS/
1)	ADTIT:	.ASCIZ	/A-D READINGS/
1)	EUTIT:  .ASCIZ  /EULER ANGLES/
1)	ALTIT:	.ASCIZ	/		   A L   R U N T I M E   S Y S T E M/
1)	BRMTIT:	.ASCIZ	/BLUE ARM/
  1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE]	8-05-80 01:54	pages 6,6

1)	YRMTIT:	.ASCIZ	/YELLOW ARM/
1)	BJTIT:	.ASCIZ	/BLUE JOINTS/
1)	YJTIT:	.ASCIZ	/YELLOW JOINTS/
1)	CRLFEOL:.BYTE	CR,LF,EOL,0
1)		.EVEN
**** File 2) PNTDIS.PAL[PNT,HE]/6P/12L
2)	HEADER:	.BYTE	HOME,CFILL,CFILL,CFILL,EOL
2)		.ASCII	/	       P O I N T Y   R U N T I M E   S Y S T E M/
2)		.BYTE	CR,LF,EOL
2)		.ASCII	/		  JT 1    JT 2    JT 3    JT 4    JT 5    JT 6     HAND/
2)		.BYTE	CR,LF,EOL
2)		.ASCII	/LOW STOPS	 -45.0  -165.0     6.75 -395.0   -95.0  -110.0    -0.20/
2)		.BYTE	CR,LF,EOL
2)		.ASCII	/HIGH STOPS	 190.0   -50.0    33.00  205.0    95.0   200.0     3.80/
2)		.BYTE	CR,LF,EOL
2)		.ASCII	/PARK POSITION	 180.0   -90.0    14.00  -90.0    90.0     0.0/
2)		.BYTE	CR,LF,EOL
2)		.ASCII	/BLUE ARM/
2)		.BYTE	CR,LF,EOL
2)		.ASCII	/CURRENT POS/
2)		.BYTE	CR,LF,EOL
2)		.ASCII	/A-D READINGS/
2)	   .IFNZ TTTTRANS
2)		.BYTE	CR,LF,EOL
2)	        .ASCII  /EULER ANGLES	    X       Y       Z       O       A       T/
2)	   .ENDC
2)		.BYTE	CR,LF,EOL
2)		.BYTE	CR,LF,EOL
2)		.ASCII	/		   A L   R U N T I M E   S Y S T E M/
2)		.BYTE	EOL,CR,LF,0
2)		.EVEN
***************